package common.model.Entity.StoreEntity;

import common.model.Entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单实体类，表示用户的订单信息。
 * 包含订单的基本信息，如订单号、总金额和状态等。
 */
@Getter
@Setter
public class Order extends BaseEntity {
    /**
     * 用户ID，外键关联到用户表
     */
    private long userId;

    /**
     * 订单号，唯一标识一个订单
     */
    private String orderNumber;

    /**
     * 订单总金额
     */
    private double totalAmount;

    /**
     * 订单状态：0-未支付，1-已支付，2-已取消
     */
    private int status;

    /**
     * 默认构造函数
     */
    public Order(){}

    /**
     * 带参数的构造函数，用于创建完整的订单对象
     *
     * @param id 订单ID
     * @param user_id 用户ID
     * @param order_number 订单号
     * @param total_amount 订单总金额
     * @param status 订单状态
     */
    public Order(long id, long user_id, String order_number, double total_amount, int status){
        super(id);
        this.userId = user_id;
        this.orderNumber = order_number;
        this.totalAmount = total_amount;
        this.status = status;
    }
}